Known issue — plume-axis river-mile arrays empty (defer)
Status: Parked pending results validation work. River-mile overlays on CXPLT/CTPLT and related UI are ignored for now.
Symptoms
Responses from GET …/results/cxplt/plume-river-mile-axis (and the …/results/ctplt/plume-river-mile-axis alias) can show:
has_data: trueandmilespopulated (dense distance axis, same count as concentration tables), butmainstem_river_mileandtributary_river_mileas[](length 0), not parallel tomiles.
When those arrays are empty, the client cannot merge or interpolate CTL-style mainstem/tributary miles along the spill path; dual-axis RM traces and CTPLT “Mainstem RM / Tributary RM” copy stay blank.
Historical behavior before a regression window is unclear; incremental API edits were minimal, yet the symptom appeared (empty RM arrays alongside non-empty miles).
Intended server contract
rsms-api-fastapi plume_river_mile_axis_sync (app/results/service.py) should fill mainstem_river_mile and tributary_river_mile via RMI + try_river_mile_grid_for_cxplt, with meta.river_mile_profile describing success or failure (ok, subset/RMI failures, etc.). Rows only fill when subset + grid parity succeed for the scenario’s segments, river, river_mile, and riverbasin RMI blob alignment.
spill_ctl_river_miles (mainstem_intersection.py) maps spill location to CTL coordinates compatible with RiverMileStructure / Neutshell; junction logic for tributaries follows 981.8 − Ohio-mile-at-mouth, not raw Ohio-only numbers for the mainstem CTL field.
Likely contributors (investigation backlog)
- Scenario table JSON missing
segments(< 2) so RMI subset never builds grids. - RMI download /
try_river_mile_grid_for_cxpltreturning non‑ok→ empty lists while mile axis remains. - Mismatch between plume
m_countand built pair lists (parity checks fail).
Frontend (temporary)
Various mergePaddedConcWithPlumeRm, sliceInfoFromPlumeForCtpltMile, and Results memo helpers assume aligned arrays (or gated on river_mile_profile.status) once work resumes—no UX requirement until validation passes.